home *** CD-ROM | disk | FTP | other *** search
/ FishMarket 1.0 / FishMarket v1.0.iso / fishies / 501-525 / disk_517 / aequipot / aequipot.doc < prev    next >
Text File  |  1992-05-06  |  11KB  |  266 lines

  1. --------------------------- Aequipot V1.15 --------------------------------
  2.  
  3. Aequipot is Copyright 1990, 1991 by Juergen Matern.
  4. This is a program that draws multicolor images with a certain
  5. algorithm.
  6.  
  7. ---------------------------- BACKGROUND -----------------------------------
  8.  
  9. The algorithm discribes a problem, of the electrostatics. An electric charge
  10. is the cause of an electric field. This field is not linear. When
  11. you examine only one charge, this field is easy to be drawn, it only
  12. consists of concentric circles. When you examine more charges you have to
  13. make a superposition of the field of every single charge with the other
  14. fields. This is what the program does for you. Lines in the field which have
  15. the same potential are called equipotential lines. Areas of the same
  16. potential are drawn in the same color. Near the charges there's no drawing
  17. because the potential strives for infinity. I hope my english is not too
  18. bad so that you can understand a bit of the problem.
  19.  
  20. ----------------------------- FEATURES ------------------------------------
  21.  
  22. * up to twenty charges
  23. * LoRes- and HiRes-resolution possible
  24. * optimized algorithm to gain time
  25. * fast-function to get an idea of how the final graphic looks like
  26. * works with 32, or 16 colors, depending on the mode
  27. * parameters from CLI
  28. * when started from Workbench the program asks for the parameters
  29. * repair-function, when the algorithm is making errors
  30. * script-file-mode
  31. * animation-rendering via script-file
  32. * graphics can be saved
  33.  
  34. ------------------------------ USAGE --------------------------------------
  35.  
  36. There are two different versions, the PAL and the NTSC version. They have
  37. different names (AequipotP and AequipotN). The program can be started
  38. either from Workbench or from CLI. When the program is started via
  39. Workbench then there is no possibility to use the script-file-mode!
  40.  
  41.  
  42. Control via CLI and Workbench:
  43.  
  44. When the program is started from CLI you have to give two parameters to the
  45. program or you specify a script-file. If there is no file specified the
  46. first parameter is the screenmode the second is the renderingmode. If there
  47. is no parameter or there are wrong parameters, the following message is
  48. printed.
  49.  
  50.      Usage: AEQUIPOT [ScriptFile] OR [ScreenMode RenderingMode]
  51.             Where ScreenMode is h(igh) or l(ow)
  52.             and RenderingMode is s(low) or f(ast)
  53.             and ScriptFile is name of file to start from.
  54.  
  55. Now the required screen is opened. The places of the charges can now
  56. be set by mouseclicking. If you won't any more charges then click right
  57. mousebutton. The maximum number of charges is 20. When you reach #20 the
  58. program leaves this mode. Now you can enter the strength of each charge. You
  59. can enter positive or negative charges between -20 and +20.
  60. When you finished the input, rendering is started. The rendering can be
  61. stopped by pressing right mousebutton. With left mousebutton you toggle
  62. the title.
  63. When the renderingmode f(ast) was selected at the end of rendering is asked
  64. if you want the same graphic to be rendered in the s(low) mode. Choose <OK>
  65. or <Cancel> to tell the program what you want.
  66. When the program rendered a graphic in mode <s> you're asked if any repairs
  67. should be done. Try the following and you know what I mean: coordinates
  68. (73/120) and strength 1 with renderingmode s(low) and screenmode l(ow).
  69. When you choose <OK> you can select the area to be re-rendered with your
  70. mouse. Press left mousebutton at the upper left corner and release button.
  71. Move mouse to lower right corner and press again left button. Now you can
  72. see the selected area to be re-rendered. If you want the program to
  73. re-render this area then press right button. If you want another area to be
  74. re-rendered then press again left button and so on. When you choose
  75. <Cancel> the requester disappears.
  76. Now the program waits for a right button. With left one you can toggle the
  77. title (e.g. for saving the picture). When the right button was pressed the
  78. screen is closed and the graphic is lost. To save pictures you have to
  79. press <s>. A file-requester appears and you can enter a name for the
  80. picture. Before you press <s> you optionally can press <c> to change the
  81. colors of the pic.
  82.  
  83.  
  84. Control via script-file:
  85.  
  86. A script-file can be written with any editor (i.e. DME). The commands
  87. which can be interpreted by the parser are enclosed in <>, parameters
  88. which have to follow a comand are enclosed in [], several possibilities are
  89. seperated by |. When you read [h|l] there must be h or l in the file. but
  90. without <> and []. At the end of every line you can find the number of
  91. arguments expected by the parser.
  92.  
  93.  Command          Parameter                   Number
  94.  
  95. <Mode>            [h|l] [s|f]                   2
  96. <Charge>          [LadX] [LadY] [+|- Lad]       3
  97. <AnimateStart>    [LadX] [LadY] [+|- Lad]       3
  98. <AnimateEnd>      [LadX] [LadY] [+|- Lad]       3
  99. <Frames>          [Number of Pictures]          1
  100. <Name>            [Filename and Path]           1
  101. <*>               none                          0
  102.  
  103. <Mode> is choosing the rendering-mode (see above).
  104.  
  105. <Charge> is setting the coordinates of a charge, [LadX] and [LadY], and the
  106.        strength of a charge [Lad]. You have to specify, whether you want a
  107.        positive or a negative charge.
  108.  
  109. <AnimateStart> is setting the beginning-coordinates of an animated charge,
  110.        and its beginning-strength. Parameters like <Charge>.
  111.  
  112. <AnimateEnd> is setting the ending-coordinates of an animated charge and
  113.        its ending-strength. The commands <AnimateStart> and <AnimateEnd>
  114.        allways have to appear one after the other and are then animating
  115.        the same charge. All 20 charges can be moved.
  116.  
  117. <Frames> is setting the total number of pictures to be rendered. I.e. with
  118.        <Frames> [20] you get 20 pictures on your disk. Between first and
  119.        last of these pictures the animated charges are moving from start-
  120.        to end-coordinates and the strength moves from start- to end-strength.
  121.  
  122. <Name> is setting the name of the picture or the animation you want to
  123.        save. When you produce an animation [Name] is followed by the number
  124.        of the picture. [Name] must not contain any " or spaces!
  125.  
  126. <*>    after this command every following is ignored. Let's call it a
  127.        comment.
  128.  
  129. Lines without commands are not allowed in script-files!
  130.  
  131. This package includes two example-script-files named 'Script1.pot' and
  132. 'Script2.pot'.
  133.  
  134. --------------------------- KNOWN BUGS ------------------------------------
  135.  
  136. * The NTSC version of the program renders in the 'slow' mode a full PAL
  137.   screen (but I don't know how to change this). The result is o.k. but the
  138.   rendering time gets longer than necessarry.
  139.  
  140. --------------------- TO BE DONE (I hope it's done) -----------------------
  141.  
  142. * implementation of menus
  143. * killing of the bug
  144.  
  145. ------------------------ AUTHOR AND COPYRIGHT -----------------------------
  146.  
  147. Aequipot was written by Juergen Matern using the PD-Pascal-Compiler PCQ
  148. V1.1c. (Thanks to Patrick Quaid for writing this Compiler). The
  149. executables, the sourcecodes, the icons and the documentation files
  150. are all:
  151.  
  152.    Copyright © 1990, 1991 by Juergen Matern.
  153.  
  154. I will allow the package to be freely distributed, as long as all the files
  155. in the archive are included and unchanged.
  156.  
  157. These files are:
  158.  
  159. <Aequipot>:
  160. - AequipotP        (executable/PAL version)
  161. - AequipotP.info   (the icon of AequipotP)
  162. - AequipotN        (executable/NTSC version)
  163. - AequipotN.info   (the icon of AequipotN)
  164. - Aequipot.anl     (the german documentation)
  165. - Aequipot.doc     (this file)
  166. - Script1.pot      (first script-file)
  167. - Script2.pot      (second script-file)
  168. - InstallLibs      (installationfile for libraries)
  169. - InstallLibs.info (the icon of InstallLibs)
  170. - Message.txt      (message for InstallLibs)
  171.  
  172. <Source>:
  173. - AequipotP.p      (sourcecode/PAL version)
  174. - AequipotN.p      (sourcecode/NTSC version)
  175. - reqlibrary.i     (include-file of req.library)
  176. - ilbm.i           (include-file of ilbm.library)
  177. - process.i        (include-file with process-record)
  178.  
  179. Send comments, bugs, MONEY (if you want), a document in better english, 
  180. postcards, or anything else to the following address:
  181.  
  182.       Juergen Matern              
  183.       Max-Wieland-Strasse 13      
  184.       Herrlingen                  
  185.       W-7906 Blaustein            
  186.       Federal Republic of Germany 
  187.  
  188.       Phone: 07304-3745           
  189.  
  190. Have fun 8-)
  191.  
  192. --------------------------- REVISION HISTORY ------------------------------
  193.  
  194. V0.?? - December 23, 1990 to January 01, 1991:
  195.       - Main programing was done.
  196.  
  197. V1.0  - January 02, 1991:
  198.       - First public release.
  199.  
  200. V1.01 - January 16, 1991:
  201.       - Minor changes.
  202.       - Parameters from CLI are handled.
  203.       - But no WorkBench-start any more.
  204.  
  205. V1.02 - January 21, 1991:
  206.       - Minor changes.
  207.       - sqrt replaced by SPSqrt; great speed increase.
  208.  
  209. V1.03 - February 26, 1991:
  210.       - Minor changes.
  211.       - Sourcecode cleaned up.
  212.       - 20 charges are handled.
  213.  
  214. V1.04 - February 27, 1991:
  215.       - The repair function was included.
  216.       - The slow-rendering after fast-rendering with same coordinates was
  217.         included.
  218.  
  219. V1.05 - March 01, 1991:
  220.       - Again program can be started from WorkBench.
  221.  
  222. V1.06 - March 06, 1991:
  223.       - Inclusion of two requesters (repair, re-render).
  224.       - Repair and fastdrawing are put together in one procedure
  225.         (executable 700 Bytes / sourcecode 1.3 K shorter).
  226.  
  227.       - March 14, 1991:
  228.       - Changed this document a little bit.
  229.  
  230. V1.07 - March 29, 1991:
  231.       - Program uses now the font 'Topaz 80'.
  232.       - Uses its own mousepointer.
  233.       - The Codesize went down because I used some consts instead of
  234.         variables (all IntuiTexts, Screen- and WindowDefinitions).
  235.  
  236. V1.08 - April 05, 1991:
  237.       - SystemRequesters appear on my own screen.
  238.       - Colors can be chosen with ColorRequester from 'req.library'.
  239.  
  240. V1.09 - April 06, 1991:
  241.       - Pics can be saved in IFF-ILBM-format (I'm using the function
  242.         'SaveWindowToIFF' from 'ilbm.library').
  243.       - Filename is chosen with FileRequesters from 'req.library'.
  244.  
  245. V1.10 - April 06, 1991:
  246.       - Programming of the parser for reading the script-files. Some of
  247.         the commands are not yet supported.
  248.  
  249. V1.11 - April 07, 1991:
  250.       - All script-commands are working.
  251.  
  252. V1.12 - April 23, 1991:
  253.       - Animationcommands added.
  254.  
  255. V1.13 - June 12, 1991:
  256.       - Commentcommand '*' added.
  257.  
  258. V1.14 - June 23, 1991:
  259.       - Works propper with 'MemGuard'.
  260.  
  261. V1.15 - June 28, 1991:
  262.       - Charge-input in graphic-screen.
  263.       - Removed some smaller bugs.
  264.  
  265. Last changed June 29, 1991.
  266.